<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../style.css" type="text/css" media="screen">
<link rel="stylesheet" href="../../print.css" type="text/css" media="print">
<meta content="IPropertyChangeNotifier,mx.core.IPropertyChangeNotifier" name="keywords">
<title>mx.core.IPropertyChangeNotifier</title>
</head>
<body>
<script type="text/javascript" language="javascript" src="../../asdoc.js"></script><script type="text/javascript" language="javascript" src="../../cookies.js"></script><script type="text/javascript" language="javascript">
<!--
				asdocTitle = 'IPropertyChangeNotifier - Zentrum virtUOS: virtPresenter';
				var baseRef = '../../';
				window.onload = configPage;
			--></script>
<table style="display:none" id="titleTable" cellspacing="0" cellpadding="0" class="titleTable">
<tr>
<td align="left" class="titleTableTitle">virtPresenter AsDoc</td><td align="right" class="titleTableTopNav"><a onclick="loadClassListFrame('../../all-classes.html')" href="../../package-summary.html">All&nbsp;Packages</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../all-classes.html')" href="../../class-summary.html">All&nbsp;Classes</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../index-list.html')" href="../../all-index-A.html">Index</a>&nbsp;|&nbsp;<a href="../../index.html?mx/core/IPropertyChangeNotifier.html&amp;mx/core/class-list.html" id="framesLink1">Frames</a><a onclick="parent.location=document.location" href="" style="display:none" id="noFramesLink1">No&nbsp;Frames</a></td><td rowspan="3" align="right" class="titleTableLogo"><img alt="Adobe Logo" title="Adobe Logo" class="logoImage" src="../../images/logo.jpg"></td>
</tr>
<tr class="titleTableRow2">
<td align="left" id="subTitle" class="titleTableSubTitle">Interface&nbsp;IPropertyChangeNotifier</td><td align="right" id="subNav" class="titleTableSubNav"><a href="#propertySummary">Properties</a></td>
</tr>
<tr class="titleTableRow3">
<td colspan="2">&nbsp;</td>
</tr>
</table>
<script type="text/javascript" language="javascript">
<!--
if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("Interface IPropertyChangeNotifier"); titleBar_setSubNav(false,true,false,false,false,false,false,false,false,false,false,false,false,false);}
--></script>
<div class="MainContent">
<table cellspacing="0" cellpadding="0" class="classHeaderTable">
<tr>
<td class="classHeaderTableLabel">Package</td><td><a onclick="javascript:loadClassListFrame('class-list.html')" href="package-detail.html">mx.core</a></td>
</tr>
<tr>
<td class="classHeaderTableLabel">Interface</td><td class="classSignature">public interface IPropertyChangeNotifier extends <a href="none">flash.events.IEventDispatcher</a>, <a href="IUID.html">IUID</a></td>
</tr>
<tr>
<td class="classHeaderTableLabel">Implementors</td><td><a href="../utils/ObjectProxy.html">ObjectProxy</a>, <a href="../core/UIComponent.html">UIComponent</a></td>
</tr>
</table>
<p></p>
  The <code>IPropertyChangeNotifier</code> interface defines a marker 
  interface.
  Classes that support this interface declare support for event propagation
  in a specialized manner.
  Classes that implement this interface must dispatch events for each property
  of this class and any nested classes publicly exposed as properties.
  For those properties that are anonymous (complex and not strongly typed),
  implementing classes provide custom support or directly use the
  ObjectProxy class.
  Implementors of this interface should use the 
  <code>PropertyChangeEvent.createUpdateEvent()</code> method to construct an
  appropriate update event for dispatch.
  <p></p>
<br>
<span class="label">Example</span>
<br>  <code><pre>
   
 function set myProperty(value:Object):void
 {
    var oldValue:IPropertyChangeNotifier = _myProperty;
    var newValue:IPropertyChangeNotifier = value;
    
    // Need to ensure to dispatch changes on the new property.
    // Listeners use the source property to determine which object 
    // actually originated the event.
    // In their event handler code, they can tell if an event has been 
    // propagated from deep within the object graph by comparing 
    // event.target and event.source. If they are equal, then the property
    // change is at the surface of the object. If they are not equal, the
    // property change is somewhere deeper in the object graph.
    newValue.addEventListener(
                PropertyChangeEvent.PROPERTY_CHANGE, 
                dispatchEvent);
 
    // need to stop listening for events from the old property
    oldValue.removeEventListener(
                PropertyChangeEvent.PROPERTY_CHANGE,
                dispatchEvent);
 
    _myProperty = newValue;
 
    // now notify anyone that is listening
    if (dispatcher.hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE))
    {
         var event:PropertyChangeEvent = 
                         PropertyChangeEvent.createUpdateEvent(
                                                       this,
                                                       "myProperty",
                                                       newValue,
                                                       oldValue);
        dispatchEvent(event);
     }
  }
 
      
  </pre></code>
 <p></p>
<br>
<hr>
</div>
<a name="propertySummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Properties</div>
<div class="showHideLinks">
<div class="hideInheritedProperty" id="hideInheritedProperty">
<a onclick="javascript:setInheritedVisible(false,'Property');" href="#propertySummary" class="showHideLink"><img src="../../images/expanded.gif" class="showHideLinkImage"> Hide Inherited Public Properties</a>
</div>
<div class="showInheritedProperty" id="showInheritedProperty">
<a onclick="javascript:setInheritedVisible(true,'Property');" href="#propertySummary" class="showHideLink"><img src="../../images/collapsed.gif" class="showHideLinkImage"> Show Inherited Public Properties</a>
</div>
</div>
<table id="summaryTableProperty" class="summaryTable hideInheritedProperty" cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Property</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="hideInheritedProperty">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img class="inheritedSummaryImage" title="Inherited" alt="Inherited" src="../../images/inheritedSummary.gif"></td><td class="summaryTableSignatureCol"><a class="signatureLink" href="IUID.html#uid">uid</a> : String<div class="summaryTableDescription">
   The unique identifier for this object.</div>
</td><td class="summaryTableOwnerCol"><a href="IUID.html">IUID</a></td>
</tr>
</table>
</div>
<script type="text/javascript" language="javascript">
<!--
showHideInherited();
--></script>
<div class="MainContent">
<br>
<br>
<hr>
<br>
<p></p>
<center class="copyright"> 
</center>
</div>
</body>
</html>
<!-- -->
